# MongoDB连接配置
MONGODB_CONFIG = {
    'host': '192.168.78.254',
    'port': 27017,
    'username': 'root',
    'password': 'exmongpass1',
    'db_name': 'open_glink',
    'collection_name': 'CtripHotelBaseInfo'
}

# MongoDB房型数据连接配置（独立配置，不影响原项目）
ROOM_MONGODB_CONFIG = {
    'host': '192.168.78.254',
    'port': 27017,
    'username': 'root',
    'password': 'exmongpass1',
    'db_name': 'open_glink',
    'collection_name': 'CtripRoomBaseInfo'
}

# 导出配置
EXPORT_CONFIG = {
    # 批量读取大小（生产环境建议1000）
    'batch_size': 1000,
    
    # CSV写入缓冲大小（每N行写入一次，生产环境建议10000）
    'write_buffer_size': 10000,  # 测试时减小，便于及时看到结果
    
    # 测试模式：限制处理的酒店数量（设置为None则处理全部）
    'test_limit': None,  # 全量导出
    
    # 输出目录
    'output_dir': 'output',
    
    # 日志目录
    'log_dir': 'logs',
    
    # 进度文件目录
    'progress_dir': 'progress',
    
    # 进度保存间隔（每处理N条酒店保存一次进度）
    'progress_save_interval': 100,
    
    # 是否启用断点续传（True=继续上次进度，False=重新开始）
    'enable_resume': True,
    
    # CSV文件名
    'csv_files': {
        'basic_facility': '基本设施.csv',
        'facility_group': '设施集合.csv'
    },
    
    # 空值填充
    'null_placeholder': '数据不存在'
}

# CSV表头定义
CSV_HEADERS = {
    'basic_facility': [
        '_id',
        '酒店ID',
        '设施类型',
        '设施名称',
        '是否收费',
        '是否收费描述'
    ],
    'facility_group': [
        '_id',
        '酒店ID',
        '设施集合类型',
        '设施集合编码',
        '设施集合名称',
        '设施项名称',
        '设施项编码',
        '是否收费',
        '收费描述',
        '设施范围',
        '配备范围'
    ]
}

# ==================== 房型导出配置（独立配置，不影响原项目） ====================

# 房型导出配置
ROOM_EXPORT_CONFIG = {
    # 批量读取大小（生产环境建议1000）
    'batch_size': 1000,
    
    # CSV写入缓冲大小（每N行写入一次，生产环境建议10000）
    'write_buffer_size': 10000,
    
    # 测试模式：限制处理的房型数量（设置为None则处理全部）
    'test_limit': None,  # 默认先测试5条，确认无误后改为None
    
    # 输出目录
    'output_dir': 'output',
    
    # 日志目录
    'log_dir': 'logs',
    
    # 进度文件目录
    'progress_dir': 'progress',
    
    # 进度保存间隔（每处理N条房型保存一次进度）
    'progress_save_interval': 100,
    
    # 是否启用断点续传（True=继续上次进度，False=重新开始）
    'enable_resume': True,
    
    # CSV文件名
    'csv_files': {
        'basic_bed': '基本床型信息.csv',
        'complex_bed': '复杂床型信息.csv'
    },
    
    # 空值填充
    'null_placeholder': '数据不存在'
}

# 房型CSV表头定义
ROOM_CSV_HEADERS = {
    'basic_bed': [
        '_id',
        '房型ID',
        '房型名称',
        '可容纳人数',
        '是否有窗',
        '加床费用',
        '面积范围',
        '楼层范围',
        '基本床型ID',
        '基本床的数量',
        '基本床的宽度'
    ],
    'complex_bed': [
        '_id',
        '复杂房间名称',
        '复杂房间类型',
        '复杂床的ID',
        '复杂床的名称',
        '复杂床的数量',
        '复杂床的宽度',
        '复杂床的最大宽度',
        '复杂床的最小宽度',
        '复杂床的宽度单位',
        '复杂床的宽度描述'
    ]
}

